package com.equis.estacionamientos.bean.estacionamiento {
	import com.google.maps.LatLng;
	import com.google.maps.overlays.Marker;
	import com.google.maps.overlays.MarkerOptions;
	import com.google.maps.styles.FillStyle;
	import com.google.maps.styles.StrokeStyle;
	
	[Bindable]
	[RemoteClass(alias="com.estacionamientos.dto.EstacionamientoDTO")]
	public class FullEstacionamiento extends FullEstacionamientoBase implements IEstacionamiento{
		
		private var _tipo:TipoEstacionamiento;
		private var _marker:Marker;
		
		public function FullEstacionamiento() {
			super();
		}
		
		public function get tipo():TipoEstacionamiento {
			if(_tipo == null) {
				_tipo = TipoEstacionamiento.getTipoFor(this);
			}
			return _tipo;
		}
		
		public function set tipo(value:TipoEstacionamiento):void {
			_tipo = value;
		}
		
		public function get marker():Marker {
			if(_marker == null){
				_marker = new Marker(
					new LatLng(this.latitud, this.longitud),
					new MarkerOptions({
						strokeStyle: new StrokeStyle({color: 0x987654}),
						fillStyle: new FillStyle({color: 0x223344, alpha: 0.8}),
						radius: 12,
						hasShadow: true
					})
				);
			}
			return _marker;
		}
		
		public function set marker(value:Marker):void {
			this._marker = value;
		}
	}
}